查看原文
其他

第八周:嵌入式编程[FabNotes016]

00的笔记本 设计极客 00 2022-11-03


这周学习嵌入式编程。

让我们继续体验填鸭式猛灌新名词的课堂教学笔记吧!!

微处理器/微控制器

  • 内存: registers, SRAM(静态存储器), DRAM(动态随机存取记忆体), EEPROM(只读存储器), FLASH(闪存), fuse

  • 外设: A/D(模拟数字转换 Analog to Digital), comparator, D/A, timer/counter/PWM(脉宽调制), USART(串行通信), USB

  • word size: 8, 16, 32, 64

  • 芯片家族: 8051, PIC, MSP, AVR (课程用到的), ARM,  STM32,  mbed, PSoC,  xCORE,  Propeller

  • 供应商: Octopart, Digi-Key, Mouser, Newark, Farnell, SparkFun, Adafruit

  • 时钟

    • RC (10%, 1% calibrated 校准)

    • ceramic 陶瓷 (0.5%)

    • quartz 石英 (50 ppm)

    • PLL 锁相环

    • instruction cycles 指令周期

    • overclocking 超频

开发

  • in-system development (加载程序到处理器)

    • 引导程序(bootloader): Arduino, DFU, Micronucleus

    • JTAG 主控器, PDI 并行数据接口

    • ICE

    • ISP: 用来跟编程器交互的程序

  • 编程器

    • FabISP

    • avrdude

    • Atmel-ICE

    • JTAG, PDI

    • ISP

  • 汇编语言: hex file, instruction set, opcodes, mnemonics, directives, expressions, avr-as, gavrasm

  • C 语言 (Arduino 底层语言): 需要用编译器将 C 语言代码转成十六进制代码(hex codes)

    • AVR 依据 GCC (the GNU Compiler Collection) 而设计. AVR Libc 提供 C 语言和 AVR 通信的库

    • OS X 请用 CrossPack for AVR

    • 在课程中,我们使用 GCC 将 C 语言代码编译成 AVR 可以读懂的十六进制代码

  • IDE

    • 写程序, 编译, 加载到处理器

    • Atmel Studio, Eclipse, AVR, CodeBender

  • Interpreters(一般都很慢): Python, BASIC, FORTH, AVRSH, Javascript(Espruino, Tessel, iop.io)

主机通讯

  • 有一些与串口通讯的库,比如 python 的 pyserial

  • FTDI: 提供 USB 与其他模块的通信连接(包括模块、线缆、集成电路等)

    • 连接线

     

    • libFTDI

板子

  • AVR

    • toolchain: CrossPack for OS X

    • Atmel AVR系列是一种基于改进的哈佛结构、8位~32位精简指令集(RISC)的微控制器

    • Arduino: 开发板 + C 语言库 + IDE + 烧录程序 + 头文件



    • XMEGA: AVR 较新的系列

  • ARM

    • ARM 是主流的手机处理器架构

    • STM32

    • Rasberry Pi



  • PSoC: 芯片上的可编程系统 windows only
     



笔记列表


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存